/*
  递归删除文件夹及文件
  慎用，不然电脑上的文件删除就无法恢复
  需求：
    当遇到特殊情况（如：文件夹层及目录过深，无法通过右键删除时）
    今天就是这样，学习Gulp是用npm安装包，报错，然后去删除node_modules
    目录的时候报‘文件夹包含名称过长且无法放入回收站的项目’的错误
    遂百度之，但许久无果，便想到用nodejs递归写个删除文件和文件夹的小程序。
  使用：
    须有nodejs环境（命令行node -v检查是否安装）
    将你无法删除文件夹的目录传入到deleteFolderRecursive('目录');
    使用绝对路径如：F:/remove/Folder
    千万不要传入C:/或者F:/不让你的整个C或F盘就会被删空了
    目录传好后命令行执行node rmdir.js即可
*/
var fs=require('fs');
deleteFolderRecursive = function(path) {
  var files = [];
  if( fs.existsSync(path) ) {
    files = fs.readdirSync(path);
    files.forEach(function(file,index){
      var curPath = path + "/" + file;
      console.log(curPath);
      if(fs.statSync(curPath).isDirectory()) { // recurse
        deleteFolderRecursive(curPath);
      } else { // delete file
        fs.unlinkSync(curPath);
      }
    });
    fs.rmdirSync(path);
  }
};
deleteFolderRecursive('F:/日常工作/node.js+php+asp+mongoDB/node/一起玩node.js/练习');